$(function() {
    // 1 定义请求参数
    var form = layui.form
    var laypage = layui.laypage;
    var q = {
        pagenum: 1, //页码值
        pagesize: 2, //	每页显示多少条数据
        cate_id: '', //	文章分类的 Id
        state: '', //文章的状态，可选值有：已发布、草稿
    }

    function renderArteList() {
        // 调用接口
        $.ajax({
            url: '/my/article/list',
            method: 'GET',
            data: q,
            success: function(res) {
                if (res.status != 0) {
                    return layer.msg(res.message)
                }
                //定义过滤器
                template.defaults.imports.dateFormat = function(value) {
                    return moment(value).format('YYYY-MM-DD HH:mm:ss')
                };
                var htmlStr = template("art-list-tpl", res)
                console.log(htmlStr);
                $('tbody').html(htmlStr)
                renderPage(res.total)
            }
        })
    }
    renderArteList()
        // 2 获取列表，渲染到下拉框
    function getCateList() {
        $.ajax({
            url: '/my/article/cates/',
            method: 'GET',
            success: function(res) {
                if (res.status !== 0) {
                    return layer.msg(res.message)
                }
                var htmlStr = template('cart-sart-tpl', res)
                $('[name="cate_id"]').append(htmlStr)
                    // 修改后重新渲染
                form.render()
            }
        })
    }
    getCateList()

    // 3 监听表单提交事件
    $('#form-filter').on('submit', function(e) {
            e.preventDefault()
            q.cate_id = $('[name="cate_id"]').val()
            q.state = $('[name="state"]').val()

            renderArteList()
        })
        // 渲染分页数据
    function renderPage(total) {
        //执行一个laypage实例
        laypage.render({
            elem: 'pagination',
            count: total, //数据总数，从服务端得到
            limit: q.pagesize, //每页显示的条数  
            limits: [2, 3, 5, 10], //每页条数的选择项
            curr: q.pagenum, //当前显示几页
            // 分页器排版
            layout: ['count', 'limit', 'prav', 'page', 'next', 'skip'],
            jump: function(obj, first) {
                //obj包含了当前分页的所有参数，比如：
                console.log(obj.curr); //得到当前页，以便向服务端请求对应页的数据。
                console.log(obj.limit); //得到每页显示的条数

                //首次不执行
                if (!first) {
                    //do something
                    // 修改请求对象，重新渲染对象
                    q.pagenum = obj.curr
                    q.pagesize = obj.limit
                        // 再次调用
                    renderArteList()
                }
            }
        });
    }
    // 给删除按钮绑定点击事件
    $(document).on('click', '.del-btn', function() {
        var id = $(this).data('id')
        layer.confirm('你确定要删除当前文章吗?', { icon: 3, title: '提示' }, function(index) {
            //do something
            // 调用接口删除文件
            $.ajax({
                url: '/my/article/delete/' + id,
                method: 'GET',
                success: function(res) {
                    if (res.status != 0) {
                        return layer.msg(res.message)
                    }
                    layer.msg('删除文章成功')
                        // 删除最后一项让页码值自动减一
                    if ($('.del-btn').lenght == 1 && q.pagenum !== 1) {
                        q.pagenum = q.pagenum - 1
                    }
                    // 最后调用
                    renderArteList()
                }
            })
            layer.close(index);
        });
    })
})